#include "dwgspline.h"
#include <QPainterPath>

DwgSpline::DwgSpline() {}

void DwgSpline::addControlPoint(const QPointF& point) {
    m_controlPoints.append(point);
}

void DwgSpline::Draw(QPainter* painter) {
    if (m_controlPoints.size() < 2) {
        return; // 样条曲线至少需要两个点才能绘制
    }

    // 设置画笔属性，你可以根据需要调整颜色、线宽等
    QPen pen(Qt::blue);
    pen.setWidth(2);
    painter->setPen(pen);

    // 使用 QPainterPath 绘制样条曲线
    QPainterPath path;
    path.moveTo(m_controlPoints[0]);

    // 这里简单使用直线连接控制点，若要实现更复杂的样条曲线（如贝塞尔曲线），可修改此处逻辑
    for (int i = 1; i < m_controlPoints.size(); ++i) {
        path.lineTo(m_controlPoints[i]);
    }

    painter->drawPath(path);
}
